package Server;
/*comment about file*/
import java.util.*;

/**
 * 
 * @author Justin and Long
 * Appointment Class
 * Class that holds all information about an appointment
 * @version $Revision: 1.0 $
 */


public class Appointments extends Server {
	/**
	 * Field price.
	 */
	/**
	 * Field minute.
	 */
	/**
	 * Field hour.
	 */
	/**
	 * Field year.
	 */
	/**
	 * Field day.
	 */
	/**
	 * Field month.
	 */
	private int month, day, year, hour, minute, price;

	/**
	 * Field doctor.
	 */
	/**
	 * Field reason.
	 */
	/**
	 * Field pName.
	 */
	private String pName, reason, doctor;

	/**
	 * Field gc.
	 */
	private final GregorianCalendar gc;

	/**
	 * Field dataList.
	 */
	private ArrayList<Integer> dataList = new ArrayList<Integer>();
	
	/**
	 * Constructor for Appointments.
	 * @param year int
	 * @param month int
	 * @param day int
	 * @param hour int
	 * @param minute int
	 * @param reason String
	 * @param doctor String
	 */
	protected Appointments(int year, int month, int day, int hour, int minute, String reason, String doctor){
		this.year = year; 
		this.month = month; 
		this.day = day; 
		this.hour = hour; 
		this.minute = minute; 
		this.reason = reason; 
		this.doctor = doctor;
		dataList.add(year); 
		dataList.add(month); 
		dataList.add(day); 
		dataList.add(hour); 
		dataList.add(minute);
		gc = new GregorianCalendar(year, month, day, hour, minute);
	}
	
	/**
	 * Method toString.
	 * @return String
	 */
	public String toString(){
		final String str = "";
		return str;
	}
	
	/**
	 * Below are getters/setters for the instances
	 * 
	 * @return int
	 */
	
	public int getMonth(){
		return month;
	}
	
	/**
	 * Method getDay.
	 * @return int
	 */
	public int getDay(){
		return day;
	}
	
	/**
	 * Method getYear.
	 * @return int
	 */
	public int getYear(){
		return year;
	}
	
	/**
	 * Method getHour.
	 * @return int
	 */
	public int getHour(){
		return hour;
	}
	
	/**
	 * Method getMinute.
	 * @return int
	 */
	public int getMinute(){
		return minute;
	}
	
	/**
	 * Method getDL.
	 * @param i int
	 * @return int
	 */
	public int getDL(int i){
		return dataList.get(i);
	}
	
	/**
	 * Method getPrice.
	 * @return int
	 */
	public int getPrice(){
		return price;
	}
	
	/**
	 * Method getName.
	 * @return String
	 */
	public String getName(){
		return pName;
	}
	
	/**
	 * Method getReason.
	 * @return String
	 */
	public String getReason(){
		return reason;
	}
	
	/**
	 * Method getDoctor.
	 * @return String
	 */
	public String getDoctor(){
		return doctor;
	}
	
	/**
	 * Method setYear.
	 * @param year int
	 */
	public void setYear(int year){
		this.year = year;
	}
	
	/**
	 * Method setMonth.
	 * @param month int
	 */
	public void setMonth(int month){
		this.month = month;
	}
	
	/**
	 * Method setDay.
	 * @param day int
	 */
	public void setDay(int day){
		this.day = day;
	}
	
	/**
	 * Method setHour.
	 * @param hour int
	 */
	public void setHour(int hour){
		this.hour = hour;
	}
	
	/**
	 * Method setMinute.
	 * @param minute int
	 */
	public void setMinute(int minute){
		this.minute = minute;
	}
	
	/**
	 * Method setReason.
	 * @param reason String
	 */
	public void setReason(String reason){
		this.reason = reason;
	}
	
	/**
	 * Method setDoctor.
	 * @param doctor String
	 */
	public void setDoctor(String doctor){
		this.doctor = doctor;
	}
	
	/**
	 * Method getPatName.
	 * @return String
	 */
	public String getPatName() {
		return pName;
	}

	/**
	 * Method setpName.
	 * @param pName String
	 */
	public void setpName(String pName) {
		this.pName = pName;
	}

	/**
	 * Method getDataList.
	 * @return ArrayList<Integer>
	 */
	public ArrayList<Integer> getDataList() {
		return dataList;
	}
	
	/**
	 * Method getGc.
	 * @return GregorianCalendar
	 */
	public GregorianCalendar getGc(){
		return gc;
	}

	/**
	 * Method setDataList.
	 * @param dataList ArrayList<Integer>
	 */
	public void setDataList(ArrayList<Integer> dataList) {
		this.dataList = dataList;
	}

	/**
	 * Method setPrice.
	 * @param price int
	 */
	public void setPrice(int price) {
		this.price = price;
	}
	
	/**
	 * Method print.
	 * @return String
	 */
	public String print(){
		return "Appointment : ";
	}
}
